<?php
/**
 *
 *
 * Форма регистрации нового товара
 *
 * @author
 */
class Menu_Form_Link extends Zen_Form {
	/**
	 * Создание формы
	 */
	public function init() {
		// Вызываем родительский метод
		parent::init ();
		$this->setName ( 'link' );
		$this->setAttrib('id', 'link');

		$label = new Zend_Form_Element_Text ( 'label', array ('required' => false, 'label' => 'Текст меню: ', 'maxlength' => '300', 'class' => 'zend_text', 'validators' => array (array ('StringLength', true, array (0, 300, 'utf-8' ) ) ) ) );
		$label->setFilters ( array ('StringTrim', 'StripTags' ) );

		$ico = new Zend_Form_Element_Text ( 'ico', array ('required' => false, 'label' => 'Класс иконки: ', 'maxlength' => '300', 'class' => 'zend_text', 'validators' => array (array ('StringLength', true, array (0, 300, 'utf-8' ) ) ) ) );
		$ico->setFilters ( array ('StringTrim', 'StripTags' ) );
		
		$title = new Zend_Form_Element_Text ( 'title', array ('label' => 'Описание: ', 'maxlength' => '300', 'class' => 'zend_text', 'validators' => array (array ('StringLength', true, array (0, 300, 'utf-8' ) ) ) ) );
		$title->setFilters ( array ('StringTrim', 'StripTags' ) );



		$page_id = new Zend_Form_Element_Select ( 'page_id', array ('label' => 'Страница: ', 'maxlength' => '300', 'class' => 'zend_text' ) );

		$pages_tree = new Pages_Model_Tree ();
		$pages = $pages_tree->select ()->setColumns ( array ('tree' => array ('id', 'parent_id', 'left', 'right' ), 'page' => array ('label' ) ) )->setDepth ( 0 )->getData ();
		$filter = new Zen_Filter_TreeList ();
		$filter->setName ( 'label' );
		$pages = $filter->filter ( $pages );

		$pages [0] = "не задана";
		$page_id->setMultiOptions ( $pages );

		$page_id->setValue ( 0 );

		$uri = new Zend_Form_Element_Text ( 'uri', array ('label' => 'Ссылка: ', 'maxlength' => '300', 'class' => 'zend_text', 'description' => 'Ссылка формата http://www.google.ru/ или отностительная /news', 'validators' => array (array ('StringLength', true, array (0, 300, 'utf-8' ) ) ) ) );
		$uri->setFilters ( array ('StringTrim', 'StripTags' ) );

		$class = new Zend_Form_Element_Text ( 'class', array ('label' => 'css Класс:', 'maxlength' => '300', 'class' => 'zend_text', 'validators' => array (array ('StringLength', true, array (0, 300, 'utf-8' ) ) ) ) );
		$class->setFilters ( array ('StringTrim', 'StripTags' ) );

		$visible = new Zend_Form_Element_Radio ( 'visible', array ('multiOptions' => array ('1' => 'Видимая в меню', '0' => 'Не видимая' ), 'label' => 'Ссылка :' ) );

		// Задаем разделитель пробел, для того что бы радио кнопки располагались в ряд
		$visible->setSeparator ( '&nbsp;&nbsp;' );
		$visible->setValue ( 1 );

		$visible->setRequired ( false );

		$sumbit=new Zend_Form_Element_Submit('submit',array('label'=>'Сохранить','class'=>'btn'));
		
		$this->setDecorators ( array ('FormElements', array ('TabContainer', array ('id' => 'tabContainer' ) ), 'Form' ) );

		$mainForm = new ZendX_JQuery_Form ();
		$mainForm->setDecorators ( array ('FormElements', array ('HtmlTag', array ('tag' => 'dl', 'class' => 'zend_form' ) )
		, array ('TabPane', array ('jQueryParams' => array ('containerId' => 'link', 'title' => 'Параметры ссылки' ) ) ) ) );

		$mainForm->addElements(array($label,$page_id, $uri, $visible,$sumbit));



		$htmlForm = new ZendX_JQuery_Form ();
		$htmlForm->setDecorators ( array ('FormElements', array ('HtmlTag', array ('tag' => 'dl', 'class' => 'zend_form' ) )

		, array ('TabPane', array ('jQueryParams' => array ('containerId' => 'link', 'title' => 'Настройки отображения' ) ) ) ) );
		
		$htmlForm->addElements(array($class, $title, $ico,$sumbit));

		$this->addSubForm($mainForm, 'mainForm');
		$this->addSubForm($htmlForm, 'htmlForm');

	/**
	 * Настройка декораторов
	 */
	}
}